home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / telecomm / bbs / axshsupp.lha / AXsh-SZIMEX03.lha / SubZeroExport.rexx next >
OS/2 REXX Batch file  |  1993-01-02  |  3KB  |  123 lines

  1. /****** SubZeroExport.rexx ***************************************************
  2. *
  3. *  $VER: SubZeroExport 0.3á (02-Jan-93) - A Mail/News scanner for SubZeroNet
  4. *
  5. ******************************************************************************
  6. *
  7. *  Naming conventions:
  8. *  ~~~~~~~~~~~~~~~~~~~
  9. *     Mail  {machine}.mail.{ufn}    Mail batch
  10. *     News  {machine}.news.{ufn}    News batch
  11. *
  12. *     Xfer  {machine}.uucp.{ufn}    TrapDoor transfer archive
  13. *
  14. ******************************************************************************/
  15.  
  16. SIGNAL ON HALT
  17. SIGNAL ON ERROR
  18. SIGNAL ON BREAK_C
  19.  
  20. OPTIONS FAILAT 21
  21.  
  22. suppLib  = 'rexxsupport.library'
  23.  
  24. OUTBOUND = 'OUT:'
  25.  
  26. UUSPOOL  = 'AXSH:usr/spool/'
  27. UUMAIL   = UUSPOOL || 'mail/'
  28. UUNEWS   = UUSPOOL || 'news/'
  29.  
  30. MAIL_EXT = '.mail.'
  31. NEWS_EXT = '.news.'
  32. UUCP_EXT = '.uucp.'
  33.  
  34. NETWORK  = 'subzero.dk'
  35.  
  36. /****** These are the machines we're connected to ****************************/
  37.  
  38. Mach.1.uucp = 'thesystem'
  39. Mach.1.fido = '2.230.149.0.DLO'
  40.  
  41. Mach.2.uucp = 'ussce.van'
  42. Mach.2.fido = '2.230.317.0.CLO'
  43.  
  44. MaxMachines = 2
  45.  
  46. /*****************************************************************************/
  47.  
  48. IF ~SHOW('L',suppLib) THEN CALL ADDLIB(suppLib,0,-30,0)
  49.  
  50. DO i = 1 TO MaxMachines
  51.    Mach.i.name = Mach.i.uucp || '.' || NETWORK
  52.    Mach.i.mail = UUMAIL || Mach.i.name
  53.    Mach.i.news = UUNEWS || Mach.i.name
  54.    Mach.i.flow = OUTBOUND || Mach.i.fido
  55.    Mach.i.xfer = OUTBOUND || Mach.i.uucp || UUCP_EXT || UFN()
  56.    /*
  57.    ** First we handle mail...
  58.    */
  59.    Has_added_file = 0
  60.    IF EXISTS(Mach.i.mail) THEN DO
  61.       newName = UUMAIL || Mach.i.uucp || MAIL_EXT || UFN()
  62.       IF ADD2FLOW(Mach.i.flow Mach.i.xfer) ~= 0 THEN DO
  63.          Has_added_file = 1
  64.          CALL DELAY(50)    /* Just in case... */
  65.          CALL RENAME(Mach.i.mail,newName)
  66.          ADDRESS COMMAND 'LhA m' Mach.i.xfer newName  /* Move it into archive */
  67.       END
  68.    END
  69.    /*
  70.    ** ... then news:
  71.    */
  72.    ADDRESS COMMAND 'AXSH:bin/RN net' Mach.i.name 'pack'   /* Do a final scan */
  73.    IF EXISTS(Mach.i.news) THEN DO
  74.       newName = UUNEWS || Mach.i.uucp || NEWS_EXT || UFN()
  75.       IF ADD2FLOW(Mach.i.flow Mach.i.xfer) ~= 0 THEN DO
  76.          CALL RENAME(Mach.i.news,newName)
  77.          ADDRESS COMMAND 'LhA m' Mach.i.xfer newName  /* Move it into archive */
  78.       END
  79.    END
  80. END
  81. EXIT  /* All done :-) */
  82.  
  83.  
  84. /*
  85. ** This routine adds a file to a flow file
  86. */
  87. ADD2FLOW:
  88.    PARSE ARG kurt
  89.    IF Has_added_file == 0 THEN DO
  90.       flo = WORD(kurt,1)
  91.       fil = WORD(kurt,2)
  92.       IF OPEN('fh',flo,'A') == 0 THEN DO
  93.          IF OPEN('fh',flo,'W') == 0 THEN RETURN 0
  94.       END
  95.       CALL SEEK('fh',0,'E')            /* Seek to end of file */
  96.       CALL WRITELN('fh','-' || fil)    /* Tell TD to kill'em! */
  97.       CALL CLOSE('fh')
  98.    END
  99.    RETURN 1
  100.  
  101.  
  102. /*
  103. ** Unique file name based on UN*X datestamp
  104. */
  105. UFN:
  106.    RETURN D2X(DATE('I')*86400+TIME('S')+252460800,8)
  107.  
  108.  
  109. HALT:
  110. BREAK_C:
  111.    SAY '***Break: User abort requested!'
  112.    EXIT 1
  113.  
  114.  
  115. ERROR:
  116.    SAY '***Break: Error in line' SIGL
  117.    EXIT 10
  118.  
  119.  
  120. /*
  121. ** EOF
  122. */
  123.